from pyvision import Report, DataSet
import pandas as pd


# 切片器能关联多个数据源，实现多个表格的联动

df1 = pd.DataFrame(
    {
        'col1': 'a b c d'.split(),
        'col2': [1, 2, 3, 4]
    }
)

df2 = pd.DataFrame(
    {
        'name': 'a a a c'.split(),
        'value': [10, 20, 30, 40]
    }
)

# 创建数据源
set1 = DataSet(df1)
set2 = DataSet(df2)

name_select = (
    set2.new_slicer('name')
    .attach_dataset(set1, 'col1')  # 附加数据源set1，此时切片器与 set1(列 col1) 和 set2联动
)

(
    Report()
    .add_md('# 切片器能关联多个数据源，实现多个表格的联动')
    .add_row(
        name_select
    )
    .add_table(set1)
    .add_table(set2)
    .to_html('outputs/case3.html')
)
